在上一個章節介紹了什麼是機器學習,也概略的提到機器學習是透過資料與演算法去實踐人工智慧,這個章節會更仔細的說明機器學習是如何達到這件事情,並且探討機器學習演算法的分類、以及準備接下來鐵人賽要實作的演算法。
機器學習的原理很簡單,就是利用「資料」去找到裡面的一些「規則」,這樣講太抽象了,用數學的觀點來解釋的話,假設目前有一個函式,假設我們並不知道函式的內容,但擁有函式的結果。
x | 01 | 03 | 04 | 05 | 06 | 08 | 09 | 15 | 32
f(x) | 09 | 21 | 27 | 33 | 39 | 51 | 57 | 93 | 195
而機器學習的目的,就是使用這些結果(資料),努力的去找到非常接近f(x)的函式(規則),我稱這個函式為T(x),當T(x)越接近f(x)時,代表機器學習的精準度越高、成效越好。十分有趣的是,上述的例子不就是一個經典的迴歸(regression)問題嗎,是的,所以迴歸也是屬於機器學習的一種方法。
可能會有很大的疑惑說,只是去找到一個函式為什麼可以稱為人工智慧,站在現實面的角度來看,有太多東西不能被函式所定義,像是這對情侶會不會結婚、買這支股票可能的投資報酬率、這隻動物是不是狗等等,這些問題的確有跡可循,但又不是那麼清楚,這種時候就可以嘗試使用機器學習(前提是資料量要夠),來回答上述的問題。因此像是現在被廣泛使用的AI技術,不論是對於影像、聲音、文字亦或其他更複雜的事情,他們的原理皆是以這個為出發點而產生的。
談完了機器學習的概念,我要來說說相關的演算法,依照演算法的不同,就算使用的資料一樣,訓練出來的結果會有所差異,在選擇演算法時會考量問題的類型、資料量的大小等因素,依照訓練方法的不同,可以將機器學習的演算法分類為以下四大類。
由於機器學習的演算法非常多種,依照需要解決的問題去選擇,我參考了許多網路上對於機器學習演算法的概述,挑初其中幾個比較普遍,以及實作難度不會那麼高的演算法出來,皆是屬於監督式學習與非監督式學習兩種,接下來的幾天分別會依序介紹這些演算法。
參考資料:
10 machine learning algorithms you should know in 2018
A Tour of Machine Learning Algorithms
A Tour of The Top 10 Algorithms for Machine Learning Newbies
Types of Machine Learning Algorithms You Should Know